package sm.upgrade.api;

import sm.upgrade.exception.UpgradeException;

public interface DBDictUpgrade {

	public boolean checkDBDictChange(String fileName) throws UpgradeException;

	public boolean validateNewKey(String fileName, boolean fix)
			throws UpgradeException;

	public boolean validateOldKey(String fileName) throws UpgradeException;

	public boolean validateData(String fileName) throws UpgradeException;

	/**
	 * upgrade a single file
	 * 
	 * @param fileName
	 */
	public void upgradeDBDict(String fileName, boolean fixOldKey)
			throws UpgradeException;

	public boolean checkDBDictChange();

	public boolean validateNewKey(boolean fix);

	public boolean validateOldKey();

	public boolean validateData();

	/**
	 * upgrade the whole db
	 */
	public void upgradeDBDict(boolean fixOldKey);
}
